package com.sessioncookie;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * 
 * @classDesc: 功能描述:(显示最后一次访问时间)
 */
@WebServlet("/LastAccessTimeServlet")
public class LastAccessTimeServlet extends HttpServlet {
	// cookie 的key 值。
	private static final String COOKIE_KEY_LASTACCESSTIME = "COOKIE_KEY_LASTACCESSTIME";

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		resp.setContentType("text/html;charset=utf-8");// 防止浏览器显示乱码
		// 1.获取Cooke信息
		String lastAccessTime = null;
		Cookie[] cookies = req.getCookies();
		if(cookies!=null){
			for (Cookie cookie : cookies) {
				String cookieKey = cookie.getName();
				if (cookieKey.equals(COOKIE_KEY_LASTACCESSTIME)) {
					lastAccessTime = cookie.getValue();
					break;
				}
			}
		}
		

		// 2.如果Cookie信息没有数据,说明第一次访问。有数据的获取上一次Coole的值。
		  if(lastAccessTime==null){
			  resp.getWriter().write("你是首次访问...");;
		  }else {
			  resp.getWriter().write("你上次访问的时间是:"+lastAccessTime);;
		  }
		// 3. 现在访问的这个登录时间存放在Cooke里面
		// 当前的这个日期 存放在Cookie中.
		  String currenttime = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss").format(new Date());
		  Cookie cookie = new Cookie(COOKIE_KEY_LASTACCESSTIME, currenttime);
		  cookie.setMaxAge(60*60*24);
		  resp.addCookie(cookie);

	}

}
